package com.sxj.corejava.code11_io.字符流;

import java.io.*;

/**
 * @author 石小俊
 * @date 2025年02月24日
 */
public class Test03_转换流 {

    public static void main(String[] args) {
        try (
                // 字节流
                // FileInputStream in = new FileInputStream("a.txt");
                // 转换流
                // InputStreamReader reader = new InputStreamReader(in);
                // 可以通过参数二指定编码
                // InputStreamReader reader = new InputStreamReader(in,"GBK");
                // 转换流只是用于实现转换操作,读写操作仍然需要使用具体的字节流或者字符流
                // BufferedReader br = new BufferedReader(reader); // 字符流
                // 简写方式
                BufferedReader br = new BufferedReader(
                        new InputStreamReader(
                                new FileInputStream("a.txt"), "GBK"));
//                PrintWriter out = new PrintWriter("b.txt");
                // 输出流也可以指定编码
                PrintWriter out = new PrintWriter("b.txt", "GBK");
        ) {
            String data = null;
            while ((data = br.readLine()) != null) {
                System.out.println(data);
                out.println(data);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
